home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / AmigaTalk / User / Complex.p next >
Text File  |  2000-05-08  |  7KB  |  163 lines

  1. pTempVar <- <primitive 110 25 >
  2. <primitive 112 pTempVar 1  " ~= " \
  3.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  4.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  5.         16r01 16r22 16r80 16r01 16rCA 16r20 16r80 16r02 16r22 16r80 \
  6.         16r02 16rCA 16r81 16r03 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  7.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  8.     #( #isKindOf: #realpart #imagpart #&  )) >
  9.  
  10. <primitive 112 pTempVar 2  " >= " \
  11.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  12.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  13.         16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 16r22 \
  14.         16r80 16r02 16rCB 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  15.         16r5C 16rF3 16rF2 16rF5] \
  16.     #( #isKindOf: #computeMag #magpart  )) >
  17.  
  18. <primitive 112 pTempVar 3  " <= " \
  19.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  20.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  21.         16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 16r22 \
  22.         16r80 16r02 16rC8 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  23.         16r5C 16rF3 16rF2 16rF5] \
  24.     #( #isKindOf: #computeMag #magpart  )) >
  25.  
  26. <primitive 112 pTempVar 4  " > " \
  27.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  28.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  29.         16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 16r22 \
  30.         16r80 16r02 16rCC 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  31.         16r5C 16rF3 16rF2 16rF5] \
  32.     #( #isKindOf: #computeMag #magpart  )) >
  33.  
  34. <primitive 112 pTempVar 5  " < " \
  35.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  36.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  37.         16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 16r22 \
  38.         16r80 16r02 16rC7 16rF7 16r04 16r5B 16rF3 16rF8 16r03 16rF2 \
  39.         16r5C 16rF3 16rF2 16rF5] \
  40.     #( #isKindOf: #computeMag #magpart  )) >
  41.  
  42. <primitive 112 pTempVar 6  " == " \
  43.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  44.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  45.         16r01 16r22 16r80 16r01 16rC9 16r20 16r80 16r02 16r22 16r80 \
  46.         16r02 16rC9 16r81 16r03 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  47.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  48.     #( #isKindOf: #realpart #imagpart #&  )) >
  49.  
  50. <primitive 112 pTempVar 7  " computeMagPhase " \
  51.   #( #[ 16r20 16r80 16r00 16rF2 16r20 16r80 16r01 16r32 16rB5 16rF7 16r04 \
  52.         16r33 16rFA 16r01 16r7B 16rF2 16r20 16r80 16r04 16r20 16r80 \
  53.         16r01 16rBE 16r80 16r05 16r63 16rF5] \
  54.     #( #computeMag #imagpart 0.0 'Division by Complex zero!' #realpart #arcTan  )) >
  55.  
  56. <primitive 112 pTempVar 8  " computeMag " \
  57.   #( #[ 16r20 16r80 16r00 16r20 16r80 16r00 16rC2 16r20 16r80 16r01 16r20 \
  58.         16r80 16r01 16rC2 16r81 16r02 16rFA 16r01 16r47 16r62 16rF5 \
  59.        ] \
  60.     #( #realpart #imagpart #\+  )) >
  61.  
  62. <primitive 112 pTempVar 9  " printString " \
  63.   #( #[ 16r30 16r10 16rFA 16r01 16r4E 16r0B 16r11 16r31 16r0B 16r11 16r11 \
  64.         16rFA 16r01 16r4E 16r0B 16r11 16r32 16r0B 16r11 16rA8 16rF2 \
  65.         16rF5] \
  66.     #( '{' ', ' '}'  )) >
  67.  
  68. <primitive 112 pTempVar 10  " / " \
  69.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  70.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r22 16r80 \
  71.         16r01 16r32 16rB5 16r22 16r80 16r03 16r34 16rB5 16r81 16r05 \
  72.         16rF7 16r07 16r36 16rFA 16r01 16r7B 16rF2 16r5D 16rF3 16rF2 \
  73.         16r22 16r80 16r01 16r22 16r80 16r01 16rC2 16r22 16r80 16r03 \
  74.         16r22 16r80 16r03 16rC2 16rC0 16r73 16r22 16r80 16r01 16r20 \
  75.         16r80 16r01 16rC2 16r22 16r80 16r03 16r20 16r80 16r03 16rC2 \
  76.         16rC0 16r74 16r20 16r80 16r03 16r22 16r80 16r01 16rC2 16r20 \
  77.         16r80 16r01 16r22 16r80 16r03 16rC2 16rC1 16r75 16r24 16r23 \
  78.         16rBE 16r60 16r25 16r23 16rBE 16r61 16r20 16rF3 16rF5] \
  79.     #( #isKindOf: #realpart 0.0 #imagpart 0.0 #& 'Division by Complex zero!'  )) >
  80.  
  81. <primitive 112 pTempVar 11  " * " \
  82.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  83.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  84.         16r01 16r22 16r80 16r01 16rC2 16r20 16r80 16r02 16r22 16r80 \
  85.         16r02 16rC2 16rC1 16r60 16r20 16r80 16r02 16r22 16r80 16r01 \
  86.         16rC2 16r20 16r80 16r01 16r22 16r80 16r02 16rC2 16rC0 16r61 \
  87.         16r20 16rF3 16rF5] \
  88.     #( #isKindOf: #realpart #imagpart  )) >
  89.  
  90. <primitive 112 pTempVar 12  " - " \
  91.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  92.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 16r80 \
  93.         16r01 16r22 16r80 16r01 16rC1 16r60 16r20 16r80 16r02 16r22 \
  94.         16r80 16r02 16rC1 16r61 16r20 16rF3 16rF5] \
  95.     #( #isKindOf: #realpart #imagpart  )) >
  96.  
  97. <primitive 112 pTempVar 13  " + " \
  98.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r07 16r20 16r21 16rBF 16rF1 \
  99.         16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r22 16r80 \
  100.         16r01 16r20 16r80 16r01 16rC0 16r60 16r22 16r80 16r02 16r20 \
  101.         16r80 16r02 16rC0 16r61 16r20 16rF3 16rF5] \
  102.     #( #isKindOf: #realpart #imagpart  )) >
  103.  
  104. <primitive 112 pTempVar 14  " ~^ " \
  105.   #( #[ 16r20 16rF2 16rF5] \
  106.     #(  )) >
  107.  
  108. <primitive 112 pTempVar 15  " conjugate " \
  109.   #( #[ 16r30 16r11 16rC2 16r61 16rF5] \
  110.     #( -1.0  )) >
  111.  
  112. <primitive 112 pTempVar 16  " coerce: " \
  113.   #( #[ 16r05 16r27 16rA0 16r72 16r22 16r21 16r81 16r00 16rF2 16r22 16r31 \
  114.         16r81 16r02 16rF2 16r22 16rF3 16rF5] \
  115.     #( #realpart: 0.0 #imagpart:  )) >
  116.  
  117. <primitive 112 pTempVar 17  " phasepart: " \
  118.   #( #[ 16r21 16r63 16rF5] \
  119.     #(  )) >
  120.  
  121. <primitive 112 pTempVar 18  " magpart: " \
  122.   #( #[ 16r21 16r62 16rF5] \
  123.     #(  )) >
  124.  
  125. <primitive 112 pTempVar 19  " imagpart: " \
  126.   #( #[ 16r21 16r61 16rF5] \
  127.     #(  )) >
  128.  
  129. <primitive 112 pTempVar 20  " realpart: " \
  130.   #( #[ 16r21 16r60 16rF5] \
  131.     #(  )) >
  132.  
  133. <primitive 112 pTempVar 21  " phasepart " \
  134.   #( #[ 16r13 16rF3 16rF5] \
  135.     #(  )) >
  136.  
  137. <primitive 112 pTempVar 22  " magpart " \
  138.   #( #[ 16r12 16rF3 16rF5] \
  139.     #(  )) >
  140.  
  141. <primitive 112 pTempVar 23  " imagpart " \
  142.   #( #[ 16r11 16rF3 16rF5] \
  143.     #(  )) >
  144.  
  145. <primitive 112 pTempVar 24  " realpart " \
  146.   #( #[ 16r10 16rF3 16rF5] \
  147.     #(  )) >
  148.  
  149. <primitive 112 pTempVar 25  " new " \
  150.   #( #[ 16r05 16r2B 16r30 16rB0 16r60 16r05 16r2B 16r31 16rB0 16r61 16r05 \
  151.         16r2B 16r32 16rB0 16r62 16r05 16r2B 16r33 16rB0 16r63 16rF5 \
  152.        ] \
  153.     #( 0.0 0.0 0.0 0.0  )) >
  154.  
  155. <primitive 98 #Complex \
  156.   <primitive 97 #Complex #Magnitude #Complex.st \
  157.    #(  #real #imag #mag #phase ) \
  158.    #( #~= #>= #<= #> #< #== #computeMagPhase #computeMag #printString #/ #* #- #+  \
  159.        #~^ #conjugate #coerce: #phasepart: #magpart: #imagpart: #realpart: #phasepart  \
  160.        #magpart #imagpart #realpart #new  ) \
  161.   pTempVar 6 18 >>
  162.  
  163.